package com.zk.iotgateway.service;


import com.zk.iotgateway.domain.param.IotDispatchDO;
import io.netty.channel.ChannelHandlerContext;

import java.util.List;
import java.util.Map;

public interface IotDispatchService {

    IotDispatchDO findById(String id);

    /**
     * 增加操作
     *
     * @param t 增加的实体类
     * @return 返回该实体
     */
    boolean save(IotDispatchDO iotDispatchDO);

    /**
     * 删除操作
     *
     * @param id 主键ids集合
     * @return
     */
    boolean remove(String id);

    /**
     * 删除操作
     *
     * @param port
     * @return
     */
    boolean removeByPort(String port);

    /**
     * 更新操作
     *
     * @param t 更新的实体类
     * @return 返回
     */
    boolean updateEntity(IotDispatchDO t);


    /**
     * 根据主键ID查找对应的信息
     *
     * @param k 主键ID
     * @return 返回对应的数据
     */
    List<IotDispatchDO> findByCondition(String k);


    List<IotDispatchDO> findValidByPort(String k);

    public void removeMQ(IotDispatchDO iotDispatchDO);

    public void  addMq(IotDispatchDO iotDispatchDO);

    public void send(ChannelHandlerContext ctx,String info);

    public void  startAllMq(List<IotDispatchDO> list);

    public void  removeAllMq(String port);

    public List<Map<String,String>> findDispatchList();

}
